<?php

/**
 * 模块相关
 */

namespace app\admin\controller;

use app\admin\controller\Tree;
use think\Db;
use think\response\Json;

class Module extends BaseController
{
    /**
     * 模块视图
     */
    public function index()
    {
        return view();
    }

    /**
     * 获取模块
     */
    public function getModule()
    {
        // 定义查询字段
        $fields = "*";
        // 查询数据
        $module = db("module")->where('status', '<>', 3)->field($fields)->order("orders asc,create_time desc")->select();
        // 定义返回数据
        $arr = ["code" => 0, "msg" => 'true', "data" => $module];
        return json($arr);
    }

    /**
     * 添加视图
     */
    public function add()
    {
        // 获取参数
        $params = input("get.");
        // 查询信息
        $module = db("module")->where("status", '<>', 3)->order("orders asc,create_time desc")->select();
        // 数据进行树形结构处理
        $module = Tree::makeTree($module);
        $this->assign("module", $module);
        return view();
    }

    /**
     * 编辑视图
     */
    public function edit()
    {
        // 获取参数
        $params = input("get.");
        $id = isset($params["id"]) ? $params["id"] : '';
        // 定义数据
        $info = [];
        // 查询信息
        $module = db("module")->where("status", '<>', 3)->order("orders asc,create_time desc")->select();
        // 数据进行树形结构处理
        $module = Tree::makeTree($module);
        // 验证参数ID
        if (isset($params["id"])) {
            // 查询数据
            $info = db("module")->where("id", "=", $params["id"])->find();
        }
        $this->assign("info", $info);
        $this->assign("id", $id);
        $this->assign("module", $module);
        return view();
    }

    /**
     * 保存信息
     */
    public function save()
    {
        // 获取参数
        $params = input("post.");
        // 验证参数
        if (isset($params["id"]) && !empty($params["id"])) {
            // 更新数据
            db("module")->update($params);
        } else {
            // 保存数据
            $params["create_time"] = date("Y-m-d H:i:s");
            db("module")->insert($params);
        }
        // 返回数据
        return json(["code" => 0, "msg" => "操作成功"]);
    }

    /**
     * 字段保存
     */
    public function inputChange()
    {
        // 获取参数
        $params = input("post.");
        // 验证参数
        if (isset($params['id']) && !empty($params['id'])) {
            // 更新数据
            db("module")->update($params);
            // 定义返回数据
            $arr = ["code" => 0, "msg" => "操作成功"];
        } else {
            // 定义返回数据
            $arr = ["code" => 1, "msg" => "操作失败，缺少参数：id"];
        }
        return json($arr);
    }

    /**
     * 删除数据
     */
    public function delete()
    {
        // 获取参数
        $params = input("post.");
        // 验证参数
        if (isset($params["ids"]) && !empty($params["ids"])) {
            // 定义更新条件
            $where["id"] = array("in", $params["ids"]);
            // 更新数据
            db("module")->whereIn('id', $params["ids"])->update(["status" => 3]);
            // 定义返回数据
            $arr = ["code" => 0, "msg" => "删除成功"];
        } else {
            // 定义返回数据
            $arr = ["code" => 1, "msg" => "操作失败，缺少参数"];
        }
        return json($arr);
    }

    public function text()
    {
        $fields = "id,title,path,en_name,";
        $info = db("module")->where("status", "=", "1")->field($fields);
    }
}
